static [Gtk.internalChildren] = [
'descriptionLabel',
- 'expander',
- 'expanderArrow',
- 'revealer',
'errorView',
];
this._descriptionLabel.set({label});
- this._gesture = new Gtk.GestureClick({
- button: 0,
- exclusive: true,
- });
- this._expander.add_controller(this._gesture);
-
- this._gesture.connect('released', (gesture, nPress) => {
- if (nPress === 1)
- this._revealer.reveal_child = !this._revealer.reveal_child;
- });
-
- this._revealer.connect('notify::reveal-child', () => {
- this._expanderArrow.icon_name = this._revealer.reveal_child
- ? 'pan-down-symbolic'
- : 'pan-end-symbolic';
- this._syncExpandedStyle();
- });
- this._revealer.connect('notify::child-revealed',
- () => this._syncExpandedStyle());
-
const formattedError = formatError(error);
this._errorView.buffer.text = formattedError;
this._errorMarkdown = lines.join('\n');
}
- _syncExpandedStyle() {
- if (this._revealer.reveal_child)
- this._expander.add_css_class('expanded');
- else if (!this._revealer.child_revealed)
- this._expander.remove_css_class('expanded');
- }
-
_addCustomStylesheet() {
let provider = new Gtk.CssProvider();
let uri = 'resource:///org/gnome/Shell/Extensions/css/application.css';
</object>
</child>
<child>
- <object class="GtkFrame">
- <property name="margin-top">12</property>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Error Details</property>
+ <child type="header-suffix">
+ <object class="GtkButton">
+ <property name="receives-default">True</property>
+ <property name="action-name">page.copy-error</property>
+ <property name="has-frame">False</property>
+ <property name="icon-name">edit-copy-symbolic</property>
+ <property name="tooltip-text" translatable="yes">Copy Error</property>
+ </object>
+ </child>
<child>
- <object class="GtkBox">
- <property name="hexpand">True</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkBox" id="expander">
- <property name="spacing">6</property>
- <style>
- <class name="expander"/>
- </style>
- <child>
- <object class="GtkImage" id="expanderArrow">
- <property name="icon-name">pan-end-symbolic</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Technical Details</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkRevealer" id="revealer">
- <child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkTextView" id="errorView">
- <property name="monospace">True</property>
- <property name="editable">False</property>
- <property name="wrap-mode">word</property>
- <property name="left-margin">12</property>
- <property name="right-margin">12</property>
- <property name="top-margin">12</property>
- <property name="bottom-margin">12</property>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <style>
- <class name="expander-toolbar"/>
- </style>
- <child>
- <object class="GtkButton">
- <property name="receives-default">True</property>
- <property name="action-name">page.copy-error</property>
- <property name="has-frame">False</property>
- <property name="icon-name">edit-copy-symbolic</property>
- <property name="tooltip-text" translatable="yes">Copy Error</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
+ <object class="GtkTextView" id="errorView">
+ <property name="monospace">True</property>
+ <property name="editable">False</property>
+ <property name="wrap-mode">word</property>
+ <property name="left-margin">12</property>
+ <property name="right-margin">12</property>
+ <property name="top-margin">12</property>
+ <property name="bottom-margin">12</property>
+ <style>
+ <class name="card"/>
+ </style>
</object>
</child>
</object>